﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;

namespace GmailMetroNotifier.Client.Business
{
    /// <summary>
    /// Defines methods and properties for credentials storage and management.
    /// </summary>
    public interface ICredentialsManager
    {
        /// <summary>
        /// Gets the collection of credentials stored.
        /// </summary>
        IEnumerable<NetworkCredential> Credentials { get; }

        /// <summary>
        /// Adds or updates the given credential to the storage.
        /// </summary>
        /// <param name="credential">The credential to be added or updated.</param>
        void AddOrUpdateCredentials(NetworkCredential credential);

        /// <summary>
        /// Saves the stored credentials.
        /// </summary>
        void SaveCredentials();
    }
}
